/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package sun.scheduler.util.graph.algorithm.maxflow;

/**
 *
 * @author mfj
 */
public interface EdgeFlow
{


    /**
     * Adds some value to this {
     *
     * @see @Edge}.
     * @param val the value to add
     * @throws IllegalArgumentException if the flow is not within the bounds of the capacity, i.e. {@code flow > capacity}
     */
    void addFlow(double val);


    /**
     * Gets the flow through this edge.
     *
     * @return the flow through this edge.
     */
    public double getFlow();

    

    /**
     * Gets the lower capacoty of this edge.
     *
     * @return the capacity.
     */
    public double getLowerCapacity();


    /**
     * Gets the upper capacity of this edge.
     *
     * @return the capacity.
     */
    public double getUpperCapacity();    
}
